/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package jogodecartas.rules;

import jogodecartas.core.Carta;

/**
 *
 * @author Diego
 */
public class RegrasGerais {

    public RegrasGerais() {
    }

    public static boolean isNaipePermutando(Carta daFileira, Carta aAdicionar) {
        if (daFileira.getNaipe() == 0 && (aAdicionar.getNaipe() == 1 || aAdicionar.getNaipe() == 3)) {
            return true;
        } else if (daFileira.getNaipe() == 1 && (aAdicionar.getNaipe() == 0 || aAdicionar.getNaipe() == 2)) {
            return true;
        } else if (daFileira.getNaipe() == 2 && (aAdicionar.getNaipe() == 1 || aAdicionar.getNaipe() == 3)) {
            return true;
        } else if (daFileira.getNaipe() == 3 && (aAdicionar.getNaipe() == 0 || aAdicionar.getNaipe() == 2)) {
            return true;
        } else {
            return false;
        }
    }
    public static boolean isMesmoNaipe(Carta daFileira, Carta aAdicionar) {
        if (daFileira.getNaipe() == aAdicionar.getNaipe()) {
            return true;
        } else {
            return false;
        }
    }

    public static boolean isValorEmSequenciaAscendente(Carta daFileira, Carta aAdicionar) {

        for (int i = 1; i < 13; i++) {
            if (daFileira.getValor() == i && aAdicionar.getValor() == i + 1) {
                return true;
            }
        }
        return false;
    }
    public static boolean isValorEmSequenciaDescendente(Carta daFileira, Carta aAdicionar) {

        for (int i = 13; i > 1; i--) {
            if (daFileira.getValor() == i && aAdicionar.getValor() == i - 1) {
                return true;
            }
        }
        return false;
    }
}
